

'''‌生成均匀分布的随机数‌：numpy.random.uniform(low, high, size)

‌生成正态分布的随机数‌：numpy.random.normal(loc, scale, size)

‌生成指定范围内的随机整数‌：numpy.random.randint(low, high, size)

‌对数组元素进行随机排列‌：numpy.random.permutation(arr)

分享
'''
import numpy as np
import random as ra
import time
arr = np.array([[0,1,2,3,4,5],[0,1,2,3,4,5]])

def hand():# 手套
    m_name='手套'
    ym=ra.randint(1,3)
    yn=ra.randint(2,3)
    y=np.random.randint(0,ym,yn)
    arrt=['智力增加','生命增加','力量增加','攻击速度增加','防御增加','暴击率增加','魔力值增加','闪避增加','敏捷增加','火焰抗性增加','闪电抗性增加','冰冷抗性增加','混沌抗性增加']
    arrm=['火焰伤害增加','冰冷伤害增加','闪电伤害增加','物理伤害增加','混沌伤害增加']
    arrk=['物理防御百分比增加','闪避百分比增加','无视伤害几率增加','攻击速度百分比增加']
    mm=[]
    ra.shuffle(arrt)
    ra.shuffle(arrm)
    ra.shuffle(arrk)
    for i in range(y[0]):
        a=ra.choice(arrt)
        num=np.random.randint(6,40)
        arrt.remove(a)
        mm.append(a+f':{int(num*0.5)}')
    for z in range(y[1]):
        b=ra.choice(arrm)
        min_num=np.random.randint(2,20)
        min_max=np.random.randint(20,60)
        arrm.remove(b)
        mm.append(b+f'{int(min_num*0.5)}-{int(min_max*0.5)}')
    if len(y)>2:
        for j in range(y[2]):
            d=ra.choice(arrk)
            f_n=ra.randrange(2,20)
            arrk.remove(d)
            mm.append(d+f'{f_n*0.5}%')
    if len(mm)==0:
        nn=[f'普通{m_name}',mm]
    elif len(mm)<3:
        nn=[f'魔法{m_name}',mm]
    elif len(mm)<6 :
        nn=[f'稀有{m_name}',mm]
    elif len(mm)<8 :
        nn=[f'传说{m_name}',mm]
    else:
        nn=[f'神话{m_name}',mm]
    return nn
def shoes():  # 靴子
    m_name='靴子'
    ym=ra.randint(1,3)
    yn=ra.randint(2,3)
    y=np.random.randint(0,ym,yn)
    arrt=['智力增加','生命增加','力量增加','移动速度增加','防御增加','命中值增加','魔力值增加','闪避增加','敏捷增加','火焰抗性增加','闪电抗性增加','冰冷抗性增加','混沌抗性增加']
    arrm=['物理防御百分比增加','力量百分比增加','所有抗性百分比增加','敏捷百分比增加','智力百分比增加','生命百分比增加']
    arrk=['移动速度百分比增加','护盾百分比增加','魔力值回复速度增加','闪避值百分比增加']
    mm=[]
    ra.shuffle(arrt)
    ra.shuffle(arrm)
    ra.shuffle(arrk)
    for i in range(y[0]):
        a=ra.choice(arrt)
        num=np.random.randint(6,40)
        arrt.remove(a)
        mm.append(a+f':{int(num*0.5)}')
    for z in range(y[1]):
        b=ra.choice(arrm)
        f_n=ra.randrange(2,20)
        arrm.remove(b)
        mm.append(b+f'{f_n*0.5}%')
    if len(y)>2:
        for j in range(y[2]):
            d=ra.choice(arrk)
            f_n=ra.randrange(10,30,5)
            arrk.remove(d)
            mm.append(d+f'{f_n}%')
    if len(mm)==0:
        nn=[f'普通{m_name}',mm]
    elif len(mm)<3:
        nn=[f'魔法{m_name}',mm]
    elif len(mm)<6 :
        nn=[f'稀有{m_name}',mm]
    elif len(mm)<8 :
        nn=[f'传说{m_name}',mm]
    else:
        nn=[f'神话{m_name}',mm]
    return nn
def helmet():  # 头盔
    m_name='头盔'
    ym=ra.randint(1,3)
    yn=ra.randint(2,3)
    y=np.random.randint(0,ym,yn)
    arrt=['智力增加','生命增加','护盾增加','力量增加','防御增加','命中值增加','魔力值增加','闪避增加','敏捷增加','火焰抗性增加','闪电抗性增加','冰冷抗性增加','混沌抗性增加','击败敌人回复血量','击败敌人回复魔法值']
    arrm=['物理防御百分比增加','力量百分比增加','所有抗性百分比增加','敏捷百分比增加','智力百分比增加','生命百分比增加']
    arrk=['护盾百分比增加','魔力值回复速度增加','闪避值百分比增加','击败敌人经验值增加']
    mm=[]
    ra.shuffle(arrt)
    ra.shuffle(arrm)
    ra.shuffle(arrk)
    for i in range(y[0]):
        a=ra.choice(arrt)
        num=np.random.randint(6,40)
        arrt.remove(a)
        mm.append(a+f':{int(num*0.5)}')
    for z in range(y[1]):
        b=ra.choice(arrm)
        f_n=ra.randrange(2,20)
        arrm.remove(b)
        mm.append(b+f'{f_n*0.5}%')
    if len(y)>2:
        for j in range(y[2]):
            d=ra.choice(arrk)
            f_n=ra.randrange(10,30,5)
            arrk.remove(d)
            mm.append(d+f'{f_n}%')
    if len(mm)==0:
        nn=[f'普通{m_name}',mm]
    elif len(mm)<3:
        nn=[f'魔法{m_name}',mm]
    elif len(mm)<6 :
        nn=[f'稀有{m_name}',mm]
    elif len(mm)<8 :
        nn=[f'传说{m_name}',mm]
    else:
        nn=[f'神话{m_name}',mm]
    return nn
def weapon():  # 武器
    m_name='长剑'
    ym=ra.randint(1,3)
    yn=ra.randint(2,3)
    y=np.random.randint(0,ym,yn)
    arrt=['智力增加','力量增加','攻击速度增加','暴击率增加','魔力值增加','敏捷增加','暴击伤害增加','攻击力增加','无视敌方防御力']
    arrm=['火焰伤害增加','冰冷伤害增加','闪电伤害增加','物理伤害增加','混沌伤害增加']
    arrk=['物理伤害百分比增加','攻击力百分比增加','攻击速度百分比增加','火焰伤害百分比增加','冰冷伤害百分比增加','闪电伤害百分比增加','混沌伤害百分比增加','击败敌人回复生命百分比','击败敌人回复魔法百分比']
    mm=[]
    ra.shuffle(arrt)
    ra.shuffle(arrm)
    ra.shuffle(arrk)
    for i in range(y[0]):
        a=ra.choice(arrt)
        num=np.random.randint(6,50)
        arrt.remove(a)
        mm.append(a+f':{int(num*0.5)}')
    for z in range(y[1]):
        b=ra.choice(arrm)
        min_num=np.random.randint(2,20)
        min_max=np.random.randint(30,100)
        arrm.remove(b)
        mm.append(b+f'{int(min_num*0.5)}-{int(min_max*0.5)}')
    if len(y)>2:
        for j in range(y[2]):
            d=ra.choice(arrk)
            f_n=ra.randrange(4,30)
            arrk.remove(d)
            mm.append(d+f'{f_n*0.5}%')
    if len(mm)==0:
        nn=[f'普通{m_name}',mm]
    elif len(mm)<3:
        nn=[f'魔法{m_name}',mm]
    elif len(mm)<6 :
        nn=[f'稀有{m_name}',mm]
    elif len(mm)<8 :
        nn=[f'传说{m_name}',mm]
    else:
        nn=[f'神话{m_name}',mm]
    return nn
def armor():  # 铠甲
    m_name='铠甲'
    ym=ra.randint(1,3)
    yn=ra.randint(2,3)
    y=np.random.randint(0,ym,yn)
    arrt=['智力增加','生命增加','护盾增加','力量增加','防御增加','魔力值增加','闪避增加','敏捷增加','火焰抗性增加','闪电抗性增加','冰冷抗性增加','混沌抗性增加','所有属性增加']
    arrm=['物理防御百分比增加','力量百分比增加','所有抗性百分比增加','敏捷百分比增加','智力百分比增加','生命百分比增加']
    arrk=['护盾百分比增加','魔力值回复速度增加','闪避值百分比增加','击败敌人经验值增加']
    mm=[]
    ra.shuffle(arrt)
    ra.shuffle(arrm)
    ra.shuffle(arrk)
    for i in range(y[0]):
        a=ra.choice(arrt)
        num=np.random.randint(6,40)
        arrt.remove(a)
        mm.append(a+f':{int(num*0.5)}')
    for z in range(y[1]):
        b=ra.choice(arrm)
        f_n=ra.randrange(2,20)
        arrm.remove(b)
        mm.append(b+f'{f_n*0.5}%')
    if len(y)>2:
        for j in range(y[2]):
            d=ra.choice(arrk)
            f_n=ra.randrange(10,30,5)
            arrk.remove(d)
            mm.append(d+f'{f_n}%')
    if len(mm)==0:
        nn=[f'普通{m_name}',mm]
    elif len(mm)<3:
        nn=[f'魔法{m_name}',mm]
    elif len(mm)<6 :
        nn=[f'稀有{m_name}',mm]
    elif len(mm)<8 :
        nn=[f'传说{m_name}',mm]
    else:
        nn=[f'神话{m_name}',mm]
    return nn
def ring():  # 戒指
    m_name='戒指'
    ym=ra.randint(1,3)
    yn=ra.randint(2,3)
    y=np.random.randint(0,ym,yn)
    arrt=['智力增加','力量增加','攻击速度增加','暴击率增加','魔力值增加','敏捷增加','暴击伤害增加','攻击力增加']
    arrm=['火焰伤害增加','冰冷伤害增加','闪电伤害增加','物理伤害增加','混沌伤害增加']
    arrk=['物理伤害百分比增加','攻击力百分比增加','攻击速度百分比增加','火焰伤害百分比增加','冰冷伤害百分比增加','闪电伤害百分比增加','混沌伤害百分比增加','击败敌人回复生命百分比','击败敌人回复魔法百分比','击败敌人经验值增加']
    mm=[]
    ra.shuffle(arrt)
    ra.shuffle(arrm)
    ra.shuffle(arrk)
    for i in range(y[0]):
        a=ra.choice(arrt)
        num=np.random.randint(6,30)
        arrt.remove(a)
        mm.append(a+f':{int(num*0.5)}')
    for z in range(y[1]):
        b=ra.choice(arrm)
        min_num=np.random.randint(2,20)
        min_max=np.random.randint(20,60)
        arrm.remove(b)
        mm.append(b+f'{int(min_num*0.5)}-{int(min_max*0.5)}')
    if len(y)>2:
        for j in range(y[2]):
            d=ra.choice(arrk)
            f_n=ra.randrange(4,30)
            arrk.remove(d)
            mm.append(d+f'{f_n*0.5}%')
    if len(mm)==0:
        nn=[f'普通{m_name}',mm]
    elif len(mm)<3:
        nn=[f'魔法{m_name}',mm]
    elif len(mm)<6 :
        nn=[f'稀有{m_name}',mm]
    elif len(mm)<8 :
        nn=[f'传说{m_name}',mm]
    else:
        nn=[f'神话{m_name}',mm]
    return nn

kk={}
for i in range(10):
    zonglei=[hand(),shoes(),armor(),weapon(),ring(),helmet()]
    #ra.shuffle(zonglei)
    #ii=ra.choice(zonglei)
    print(zonglei[0])
    print(zonglei[1])
    print('--------------------------')
    time.sleep(0.2)
